43d521e8da84e471dc0817d29d339fbf7085be51,src/main/java/ldbc/snb/datagen/hadoop/HadoopMergeFriendshipFiles.java,HadoopMergeFriendshipFilesReducer,reduce,#TupleKey#Iterable#Context#,41

Before Change


                    person = new Person(p);
                } else {
                    for ( Knows k : p.knows() ) {
                        person.knows().add(k);
                    }
                }
                index++;

After Change


        public void reduce(TupleKey key, Iterable<Person> valueSet,Context context)
                throws IOException, InterruptedException {

            ArrayList<Knows> knows = new ArrayList<Knows>();
            Person person = null;
            int index = 0;
            for ( Person p : valueSet) {
                if( index == 0 ) {
                    person = new Person(p);
                }
                for(Knows k : p.knows()) {
                    knows.add(k);
                }
                index++;
            }
            person.knows().clear();
            Knows.FullComparator comparator = new Knows.FullComparator();
            Collections.sort(knows, comparator);
            if(knows.size() > 0 ) {
                long currentTo = knows.get(0).to().accountId();
                person.knows().add(knows.get(0));
                for (index = 1; index < knows.size(); ++index) {
                    Knows nextKnows = knows.get(index);
                    if(currentTo != knows.get(index).to().accountId()) {
                        person.knows().add(nextKnows);
                        currentTo = nextKnows.to().accountId();
                    } else {
                        numRepeated++;
                    }